[test][radio] Add axe tests and WCAG conformance reports - #48920
Conversation
Deploy previewBundle size
Check out the code infra dashboard for more information about this PR. |
fd73e27 to
586dbce
Compare
53cd134 to
8dde96f
Compare
ed67a1e to
d2b70c8
Compare
PR reviewNothing merge-blocking. The Tests (1)1. 🟡 Radio 2.5.2 skips the cancellation branch the sibling suites assertLocation: it('2.5.2 Pointer Cancellation: activates on the pointer up-event, not the down-event', ...Button, Checkbox, Switch, and ToggleButton all press on the control, move off the target, release, and assert that nothing activates. The Radio test only asserts that the down-event alone does not select. The abort path — the substance of 2.5.2 — is untested for Radio. Failure scenario: a regression that commits the selection on Fix: add the press → move to an outside target → release sequence and assert VerdictApprove after nits - one missing cancellation branch keeps Radio below the parity of its sibling suites. 🤖 Review generated with Claude Code |
d2b70c8 to
621aa78
Compare
Applies mui#48916 (comment): the shared reports table starts empty, and each component PR appends its own row. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_013HgD6GEW3UxNRvC2abbTy9
# Conflicts: # packages/mui-material/src/Radio/Radio.test.js # packages/mui-material/src/accessibility.md # test/regressions/demoMeta.ts
| | Component | ✅ Supports | ⚠️ Partially Supports | ❌ Does Not Support | ➖ Not Applicable | | ||
| | :------------------------------------------ | :---------- | :-------------------- | :------------------ | :---------------- | | ||
| | [Button](./Button/accessibility.md) | 23 | 4 | 0 | 28 | | ||
| | [Radio](./Radio/accessibility.md) | 23 | 2 | 0 | 30 | | ||
| | [RadioGroup](./RadioGroup/accessibility.md) | 7 | 0 | 0 | 30 | |
There was a problem hiding this comment.
Should this table have an "inherited" column?
There was a problem hiding this comment.
where would it inherit from?
There was a problem hiding this comment.
RadioGroup has an inherited part, that it inherits from Radio
I feel like it should be displayed here,
| inherited |
|---|
| 7 (from Radio) |
# Conflicts: # packages/mui-material/src/accessibility.md # test/regressions/demoMeta.test.ts # test/regressions/demoMeta.ts
Reach controls with user.tab instead of programmatic focus in the 2.1.1, 2.1.2, and 2.4.3 tests. Add a 2.4.3 test: a disabled radio is not in the tab order. Add a RadioGroup test: arrow navigation skips a disabled radio. The roving arrow-key test in RadioGroup.test.js already covers focus and value movement. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_013HgD6GEW3UxNRvC2abbTy9
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_013HgD6GEW3UxNRvC2abbTy9
# Conflicts: # packages/mui-material/src/accessibility.md
# Conflicts: # packages/mui-material/src/accessibility.md # test/regressions/demoMeta.test.ts # test/regressions/demoMeta.ts
The merge commit kept conflict markers in demoMeta.ts and its test file. Restore both sides: the progress entries from master and the radio entries from the branch. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_013HgD6GEW3UxNRvC2abbTy9
# Conflicts: # packages/mui-material/src/accessibility.md # test/regressions/demoMeta.test.ts
Co-authored-by: Albert Yu <albert@albertyu.co> Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Adds axe coverage and WCAG 2.2 Level A/AA conformance reports for
RadioandRadioGroup.Radio
RadioGroup
Known gaps: focus-indicator contrast and custom icons below 3:1 (1.4.11), and
disableRippleremoving the focus indicator (2.4.7). No group-level gaps.Reports:
Radio/accessibility.md·RadioGroup/accessibility.mdImportant
How to review this PR
Layer 7 of 14 in a stacked series (#48915 → #48926). Its branch is built on
a11y/stack/switch(#48919). GitHub cannot chain PR bases across a fork, so every PR in the series targetsmasterinstead.Review only the last commit —
d2b70c8. Everything above it belongs to the layers below, and disappears as those merge.Original work by @mj12albert. Supersedes #48751, rebased onto current master.
Part of the WCAG conformance effort (#14187).